#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include "linklist.h"

void test(link_node_t * list,int n){
    for(int i = 0;i < n;i++){
        InsertIntoPostLinkList(list, i,i);
    }
}

void test_ShowLinkList(link_node_t *p){
    if(p == NULL){
        printf("头指针错误！\n");
        return;
    }
    if(p->next == NULL){
        printf("链表为空\n");
        return;
    }
    int i=0;
    while(p->next != NULL){
        p=p->next;
        i++;
        // printf("第%d个节点的data:%d \n",i,p->data);
        
    }
}

int main(void){
// 创建一个空的单向链表
    link_node_t *list = CreateEpLinkList();
    if (list == NULL)
    {
        printf("链表创建失败！\n");
        return 1;
    } 
//插入
    clock_t begin,end;
    begin=clock();
    test(list,1000);
    end=clock();
    printf("插入1千个用时%lf(s)\n",(double)(end-begin)/CLOCKS_PER_SEC);

//索引
    begin=clock();
    test_ShowLinkList(list);
    end=clock();
    printf("索引1千个用时%lf(s)\n",(double)(end-begin)/CLOCKS_PER_SEC);
// 清空链表
    ClearLinkList(list);


//插入
    // clock_t begin,end;
    begin=clock();
    test(list,10000);
    end=clock();
    printf("插入1万个用时%lf(s)\n",(double)(end-begin)/CLOCKS_PER_SEC);
//索引
    begin=clock();
    test_ShowLinkList(list);
    end=clock();
    printf("索引1万个用时%lf(s)\n",(double)(end-begin)/CLOCKS_PER_SEC);
// 清空链表
    ClearLinkList(list);

    
//插入
    // clock_t begin,end;
    begin=clock();
    test(list,100000);
    end=clock();
    printf("插入10万个用时%lf(s)\n",(double)(end-begin)/CLOCKS_PER_SEC);
//索引
    begin=clock();
    test_ShowLinkList(list);
    end=clock();
    printf("索引10万个用时%lf(s)\n",(double)(end-begin)/CLOCKS_PER_SEC);
// 清空链表
    ClearLinkList(list);
    free(list);
    list=NULL;
    return 0;
}